#coding:utf-8
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
import time
semantic_cls = pipeline('rex-uninlu', model='damo/nlp_deberta_rex-uninlu_chinese-base', model_revision='v1.2.1')
time_start_1 = time.time()
# 命名实体识别 {实体类型: None}
r1=semantic_cls(
    input='经依法侦查查明：2020年8月22日8时52分许，犯罪嫌疑人宋申宇酒后驾驶鲁D353TU小型轿车，沿滕州市解放路由西向东行驶至滕州市解放路与塔寺路路口西路段时，被滕州市公安局交警大队民警依法查获。现场检测显示酒精含量为147mg/100ml.经枣庄市公安局法医学鉴定：宋申宇每百毫升血液中乙醇含量为137.7毫克，达到醉酒驾驶机动车程度。2020年9月18日，被告人宋申宇主动到公安机关投案。上述证据收集程序合法，内容客观真实，足以认定指控事实。被告人宋申宇对指控的事实和证据没有异议，并自愿认罪认罚。', 
    schema={
        '犯罪嫌疑人姓名': None,
        '犯罪日期': None,
        '犯罪嫌疑人驾驶车牌号': None
    }
)
print(r1)
time_end_1 = time.time()
print("运行时间："+str(time_end_1 - time_start_1)+"秒")
time_start_1 = time.time()
# 抽取类阅读理解
r1=semantic_cls(
  input='[MULTICLASSIFY]被告人韩庆振的辩护人提出被告人韩庆振到案后如实供述，是坦白，当庭认罪认罚并悔罪，系初犯、偶犯，主观恶性小，并愿意积极赔偿被害人的医疗费等经济损失，请求从轻处罚并适用缓刑的辩护意见，本院予以采纳。', 
    schema={"提供侦破其他重大案件的重要线索，经查证属实的重大立功":None,"自首":None,"赔偿被害人损失":None,"悔罪表现好":None,"被害人谅解":None,"有认罪表现":None,"共同犯罪":None,"退还赃款赃物":None,"赃款赃物被追回":None,"偶犯":None,"初犯":None,"挽回被害人损失":None,"如实供述自己的罪行":None,"有悔罪表现":None,"无前科劣迹":None,"积极缴纳罚金":None,"造成被害人损失":None,"有前科劣迹":None,"未造成被害人经济损失":None,"未参与分赃":None,"与被害人达成和解":None,"协助司法机关抓捕其他重大犯罪嫌疑人的重大立功":None,"主动报案且未逃离现场，司法机关询问后自首":None,"坦白":None,"犯罪嫌疑人已被办案机关发觉未被宣布采取调查措施或者强制措施，主动直接投案的自首":None,"当庭自愿认罪":None,"从犯":None,"立功":None,"在司法机关一般性排查询问时自首":None,"未造成被害人损失":None,"在外国犯罪，已在外国受过刑罚":None,"赔偿被害人小部分损失":None,"犯罪时不满十八周岁":None,"教唆限制行为能力人犯罪":None,"补偿被害人损失":None,"已满七十五周岁的人故意犯罪":None,"犯罪事实已被办案机关发觉未被宣布采取调查措施或者强制措施，主动直接投案的自首":None,"犯罪预备":None,"曾因违法受过行政处罚":None,"他人报案后在现场等待且未拒捕的自首":None,"被告人主动缴纳财产刑保证金":None,"审判时是怀孕的妇女":None,"赔偿被害人家属损失":None,"被害人家属的谅解":None,"已满十七周岁不满十八周岁的人犯罪":None,"法律意识淡薄":None,"认罪认罚":None,"盲人犯罪":None,"防卫过当":None,"按照司法机关的安排，以发信息方式将其他犯罪嫌疑人约至指定地点，使司法机关抓获其他犯罪嫌疑人的立功":None,"按照司法机关的安排，以打电话方式将其他犯罪嫌疑人约至指定地点，使司法机关抓获其他犯罪嫌疑人的立功":None,"家属代为退赃":None,"又聋又哑的人犯罪":None,"提起公诉前积极退赃退赔":None,"限制刑事责任能力人犯罪":None,"特别累犯":None,"犯罪对象为智力残疾人":None,"与被害人家属达成和解":None,"犯罪较轻":None,"累犯":None,"按照司法机关的安排，当场指认其他犯罪嫌疑人，使司法机关抓获其他犯罪嫌疑人的立功":None,"认罪态度差":None,"检举揭发他人犯罪活动，查证属实的立功":None,"犯罪中止":None,"亲友陪同自首":None,"已满十四周岁不满十六周岁的人犯罪":None,"犯罪分子有检举揭发他人重大犯罪行为，经查证属实的重大立功":None,"已宣判的罪犯如实供述尚未掌握的不同种罪行的自首":None,"协助司法机关抓捕其他犯罪嫌疑人的立功":None,"犯罪对象为聋而不哑残疾人":None,"提供重要线索，从而得以侦破其他案件的立功":None,"交通肇事逃逸后自动投案，如实供述自己罪行的自首":None,"共同犯罪中所起作用较小":None,"带领侦查人员抓获其他犯罪嫌疑人的立功":None,"按照司法机关的安排，当场辨认其他犯罪嫌疑人，使司法机关抓获其他犯罪嫌疑人的立功":None,"犯罪对象为聋哑残疾人":None,"尚未完全丧失控制自己行为能力的精神病人犯罪":None,"尚未完全丧失辨认自己行为能力的精神病人犯罪":None,"如实供述司法机关尚未掌握的同种较重罪行":None,"在案发前自动将赃物归还被害人":None,"家属代为赔偿":None,"其他有利于国家和社会的突出表现的的立功":None,"一般立功":None,"向城乡基层组织自首":None,"赔偿被害人全部损失":None,"赔偿被害人部分经济损失":None,"被公安机关传唤到案后如实供述自己罪行的自首":None,"犯罪事实未被办案机关发觉主动直接投案自首":None,"宣告缓刑对所居住社区没有重大不良影响":None,"被告人家属主动缴纳财产刑保证金":None,"在被采取行政强制措施期间自首":None,"主犯":None,"向其他有关负责人员自首":None,"达成和解":None,"没有再犯罪的危险":None,"已宣判的罪犯如实供述尚未掌握的同种罪行较重的自首":None,"重大立功":None,"在被追捕过程中自首":None,"被告人如实供述尚未掌握的同种罪行较重的自首":None,"在被采取强制措施期间自首":None,"教唆不满十八周岁的人犯罪":None,"前科犯罪为过失犯罪":None,"犯罪嫌疑人未被办案机关发觉主动直接投案自首":None,"曾因违法被罚款":None,"精神疾病病情为重度":None,"被告人如实供述司法机关尚未掌握的本人其他罪行的自首":None,"精神病人犯罪":None,"赔偿损失":None,"职务犯罪中，犯罪分子虽被掌握，但犯罪分子尚未受到调查谈话讯问，向办案机关投案后如实供述自己罪行的自首":None,"因形迹可疑被人民检察院盘问教育后自首":None,"未实施终了的未遂犯":None,"揭发同案犯共同犯罪以外的其他犯罪，经查证属实的立功":None,"犯罪对象为肢体残疾人":None,"刑罚执行完毕已满三年不满五年重新犯罪":None,"预防突发传染病疫情灾害期间故意犯罪":None,"曾因违法被行政拘留":None,"曾因犯罪被判处管制尚未构成累犯":None,"未赔偿被害人损失":None,"犯罪情节轻微":None,"刑罚执行完毕不满一年重新犯罪":None,"犯罪对象为低视力人":None,"曾因违法被劳动教养":None,"被采取强制措施的犯罪嫌疑人如实供述司法机关尚未掌握的本人其他罪行的自首":None,"被害人应负责任":None,"已满七十周岁的人犯罪":None,"被害人有明显过错":None,"被采取强制措施的犯罪嫌疑人如实供述尚未掌握的不同种罪行的自首":None,"造成被害人经济损失":None,"未取得谅解":None,"赔偿被害人大部分损失":None,"因伤委托他人先代为自首":None,"罪行尚未被办案机关发觉，因形迹可疑被办案机关盘问、教育后主动交代自己的罪行构成自首":None,"避险过当":None,"交通肇事后保护现场抢救伤者，并向公安机关报告的自首":None,"犯罪对象为大部分丧失劳动能力人":None,"因形迹可疑被司法机关盘问教育后自首":None,"在台风灾害期间犯罪":None,"严重过当":None,"职务犯罪中，犯罪分子未被办案机关掌握，向办案机关投案后如实供述自己罪行的自首":None,"已满十二周岁不满十六周岁的人犯罪":None,"犯罪对象为盲人":None,"已满十五周岁不满十六周岁的人犯罪":None,"正在投案途中被公安机关捕获后自首":None,"被害人负有直接责任":None,"提供司法机关尚未掌握的其他案件犯罪嫌疑人的藏匿地址，使司法机关抓获其他犯罪嫌疑人的立功":None,"罪责相对较轻":None,"前科犯罪为未成年人犯罪":None,"在暴雨灾害期间犯罪":None,"犯罪对象为视力残疾人":None,"亲友主动报案后，将犯罪嫌疑人送去自首":None,"一般过当":None,"被告人如实供述尚未掌握的同种罪行的自首":None,"在火山灾害期间犯罪":None,"职务犯罪中，犯罪事实虽被掌握，但未被宣布采取调查措施时，向办案机关投案后如实供述自己罪行的自首":None,"经查实准备去投案被公安机关捕获后自首":None,"实施终了的未遂犯":None,"前后罪为同种犯罪的累犯":None,"犯罪未遂":None,"犯罪对象为哺乳期妇女":None,"在重大自然灾害期间故意犯罪":None,"曾因违法被暂扣许可证":None,"诉讼期间拒不到案":None,"被害人有一般过错":None,"公安机关通知犯罪嫌疑人的亲友后亲友送去自首":None,"被教唆的人没有犯被教唆的罪":None,"曾因违法被警告":None,"在行政拘留期间自首":None,"因形迹可疑被人民法院盘问教育后自首":None,"因伤先以信电自首":None,"在寒潮灾害期间犯罪":None,"因病先以信电自首":None,"职务犯罪中，犯罪事实未被办案机关掌握，向办案机关投案后如实供述自己罪行的自首":None,"揭发同案犯共同犯罪事实":None,"精神疾病病情为轻度":None,"被告人如实供述尚未掌握的不同种罪行的自首":None,"因病委托他人先代为自首":None,"曾因违法被责令停产停业":None,"犯罪既遂":None,"向其所在单位自首":None,"在劳动教养期间自首":None,"在被通缉过程中自首":None,"胁从犯":None,"已满六十周岁不满七十五周岁的人犯罪":None,"曾因违法被吊销许可证":None,"在洪涝灾害期间犯罪":None,"在群体性事件中故意犯罪":None,"精神疾病病情为中度":None,"已满十六周岁不满十八周岁的人犯罪":None,"正在服刑的罪犯如实供述司法机关尚未掌握的本人其他罪行的自首":None,"未造成被害人较大经济损失":None,"经亲友规劝自首":None,"犯罪对象为完全丧失劳动能力人":None,"在泥石流灾害期间犯罪":None,"罪行尚未被办案机关发觉，因形迹可疑被有关组织盘问、教育后主动交代自己的罪行构成自首":None,"因形迹可疑被有关组织盘问教育后自首":None,"提供司法机关尚未掌握的其他案件犯罪嫌疑人的联络方式，使司法机关抓获其他犯罪嫌疑人的立功":None,"犯罪对象为残疾人":None,"犯罪事实已被办案机关发觉未受到调查谈话、讯问，主动直接投案的自首":None,"已满六十周岁不满七十五周岁的人故意犯罪":None,"不是主犯":None,"犯罪对象为老年人":None,"控制突发传染病疫情灾害期间故意犯罪":None,"被采取强制措施的犯罪嫌疑人如实供述尚未掌握的同种罪行的自首":None,"帮助犯":None,"已满十四周岁不满十五周岁的人犯罪":None,"在强制隔离戒毒期间自首":None,"如实供述避免特别严重后果":None,"职务犯罪中，犯罪分子向所在单位等办案机关以外的单位组织投案的自首":None,"曾因犯罪被判处有期徒刑尚未构成累犯":None,"退还赃款脏物":None,"犯罪对象为单纯语言障碍残疾人":None,"刑罚执行完毕已满一年不满三年重新犯罪":None,"阻止他人犯罪活动的立功":None,"给被害人造成损失较小":None,"被害人负有一定责任":None,"支持原告":None,"重大坦白":None,"职务犯罪中，犯罪事实虽被掌握，但犯罪分子尚未受到调查谈话讯问时，向办案机关投案后如实供述自己罪行的自首":None,"诉讼期间逃跑":None,"给被害人造成损失较大":None,"审判时已满七十五周岁":None,"轻微过当":None,"在被采取司法强制措施期间自首":None,"犯罪嫌疑人自首后又翻供，但在一审判决前又能如实供述":None,"曾因犯罪受过刑事处罚尚未构成累犯":None,"犯罪对象为孕妇":None,"已满十六周岁不满十七周岁的人犯罪":None,"共同犯罪中所起作用较大":None,"曾因违法被没收非法财物":None,"已满六十周岁不满七十五周岁的人过失犯罪":None,"犯罪对象为未成年人":None,"在司法拘留期间自首":None,"曾因犯罪被判处拘役尚未构成累犯":None,"犯罪嫌疑人已被办案机关发觉未受到调查谈话、讯问，主动直接投案的自首":None,"对国家和社会有其他重大贡献表现的重大立功":None,"在滑坡灾害期间犯罪":None,"阻止他人重大犯罪活动的重大立功":None,"为了减轻犯罪后果先以信电自首":None}
)
print(r1)
time_end_1 = time.time()
print("运行时间："+str(time_end_1 - time_start_1)+"秒")
time_start_1 = time.time()
# 选择类阅读理解，正文前添加[CLASSIFY]，schema按照“问题+候选选项”的形式构造
r1=semantic_cls(
  input='[CLASSIFY]2019年1月19日15时许，被告人张勤龙酒后驾驶其鲁Q93301号“长安”牌小型普通客车沿省道342线由东向西行驶，驶至该线44公里+200米路段时，与张勤修驾驶的金彭牌电动三轮车发生碰撞，致张勤修受伤后医院经抢救无效死亡，张勤龙、张勤修承担事故的同等责任。经抽血检测，案发时张勤龙血液中乙醇含量为174.3mg/100ml，张勤修血液中乙醇含量为203.3mg/100ml，均属醉酒后驾驶机动车。2018年10月18日10时5分，被告人张勤龙经电话传唤到莒南交警大队投案。2019年3月11日，被告人张勤龙在交强险外赔偿被害人张勤修近亲属，取得了被害人近亲属的谅解。', 
    schema={
         '谅解方式是什么?书面谅解': None,'谅解方式是什么?口头谅解': None,
        }
)
time_end_1 = time.time()
print("运行时间："+str(time_end_1 - time_start_1)+"秒")
print(r1)

time_start_1 = time.time()
# 关系抽取 {主语实体类型: {关系(宾语实体类型): None}}
r1=semantic_cls(
  input='7月28日，天津泰达在德比战中以0-1负于天津天海。', 
    schema={
        '胜负(事件触发词)': {
            '时间': None,
            '败者': None,
            '胜者': None,
            '赛事名称': None
        }
    }
) 
time_end_1 = time.time()
print("运行时间："+str(time_end_1 - time_start_1)+"秒")
print(r1)